package com.soup.lab.basic.map;

import org.junit.jupiter.api.Test;

import java.util.WeakHashMap;

public class WeakHashMapTestCase {

    @Test
    public void test() {
        WeakHashMap<String, String> weakHashMap = new WeakHashMap<>();
        // 常量池对象引用，root可达
        weakHashMap.put("常量池引用", "去不掉了");
        // 堆对象的引用，没有其他引用，gc后可以删除
        weakHashMap.put(new String("没人要我"), new String("哈哈哈哈"));
        // 还有外部引用
        String ref = new String("外部引用存在");
        weakHashMap.put(ref, new String("有人需要我"));
        System.gc();
        System.runFinalization();
        System.out.println(weakHashMap);



    }



}
